
/* AOP: Aspect Oriented Programming
	在某些类中, 什么时机, 做什么事情
	切入点(point-cut): 在某些类中(Class<?>[] itfc = new Class<?>[] { IStudentService.class })
	通知: 什么时机, 做什么事情(InvocationHandler的invoke方法)
	切面: 切入点 + 通知
	织入(weaver): Proxy.newProxyInstance: 把切入点和通知施加到具体的业务逻辑上的过程
 */

/* XML配置AOP步骤:
 1,准备了一个实现接口的bean, 还有一个事务的碎片化方法的类;
 2,把这两个类配置到Spring容器中;
 3,配置springAOP
  1)引入aop命名空间;
  2)配置AOP,格式如下
  <aop:config>
      <aop:point-cut expression=""  id="sample" />
      <aop:aspect ref="">
           <aop:before method="" pointcut-ref="sample">
           <aop:after-returning method="" pointcut-ref="sample">
           <aop:after-throwing method="" pointcut-ref="sample">
      </aop:aspect>
  </aop:config>
  	1] aop:config: AOP配置
  	2] aop:point-cut: AOP切入点
  	3] aop:aspect: AOP切面配置
  	4] aop:* 都是一个AOP切面

 4,在接口文件中配置一个业务逻辑对象的接口,DI注入,并在test方法中直接调用该接口的具体业务逻辑
*/
